package team.freeroom.hotelmanage.repository.mapper;

import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
import team.freeroom.hotelmanage.repository.entity.Menu;

import java.util.List;
import java.util.Map;

/**
 * 菜单类 Mapper
 *
 * @author aBadString
 */
@Mapper
@Repository
public interface MenuMapper {
    /**
     * 添加菜单
     * @param menu
     * @return
     */
    int add(Menu menu);

    /**
     * 编辑菜单
     * @param menu
     * @return
     */
    int edit(Menu menu);

    /**
     * 删除菜单
     * @param id
     * @return
     */
    int delete(Long id);

    /**
     * 条件查询菜单
     * @param queryMap
     * @return
     */
    List<Menu> findList(Map<String, Object> queryMap);

    int getTotal(Map<String, Object> queryMap);

    /**
     * 获取顶级菜单信息
     * @return
     */
    List<Menu> findTopList();

    /**
     * 获取某一分类的子菜单信息
     * @param parentId
     * @return
     */
    List<Menu> findChildernList(Long parentId);

    /**
     * 根据菜单id获取菜单信息
     * @param ids
     * @return
     */
    List<Menu> findListByIds(String ids);
}
